--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
nomadnet/ui/textui/Main.py 0.0.5 (c9aac85c) Text, 5.15 KB
Tff7b72import T7ee787RNS
Tff7b72import T7ee787time
Tff7b72from T7ee787.T7ee787Network Tff7b72import Tff7b72*
Tff7b72from T7ee787.T7ee787Conversations Tff7b72import Tff7b72*
Tff7b72from T7ee787.T7ee787Directory Tff7b72import Tff7b72*
Tff7b72from T7ee787.T7ee787Map Tff7b72import Tff7b72*
Tff7b72import T7ee787urwid
Tff7b72class T56d364SubDisplaysTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffnetwork_display Tff7b72= Te6edf3NetworkDisplayTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffconversations_display Tff7b72= Te6edf3ConversationsDisplayTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdirectory_display Tff7b72= Te6edf3DirectoryDisplayTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffmap_display Tff7b72= Te6edf3MapDisplayTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffactive_display Tff7b72= Tff7b72selfTff7b72.Td2a8ffconversations_display
Tff7b72def Td2a8ffactiveTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72return Tff7b72selfTff7b72.Td2a8ffactive_display
Tff7b72class T56d364MenuButtonTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffButtonTb4b4b4)Tb4b4b4:
Te6edf3button_left Tff7b72= Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff'Ta5d6ff[Ta5d6ff'Tb4b4b4)
Te6edf3button_right Tff7b72= Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff'Ta5d6ff]Ta5d6ff'Tb4b4b4)
Tff7b72class T56d364MainFrameTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffFrameTb4b4b4)Tb4b4b4:
Te6edf3FOCUS_CHECK_TIMEOUT Tff7b72= T79c0ff0.25
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3bodyTb4b4b4, Te6edf3headerTff7b72=Tff7b72NoneTb4b4b4, Te6edf3footerTff7b72=Tff7b72NoneTb4b4b4, Te6edf3delegateTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegate Tff7b72= Te6edf3delegate
Tff7b72selfTff7b72.Td2a8ffcurrent_focus Tff7b72= Tff7b72None
Tffa657superTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ff__init__Tb4b4b4(Te6edf3bodyTb4b4b4, Te6edf3headerTb4b4b4, Te6edf3footerTb4b4b4)
Tff7b72def Td2a8ffkeypress_focus_checkTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3deferredTff7b72=Tff7b72FalseTb4b4b4)Tb4b4b4:
Te6edf3current_focus Tff7b72= Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffget_focus_widgetsTb4b4b4(Tb4b4b4)Tb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]
Tff7b72if Te6edf3deferredTb4b4b4:
Tff7b72if Te6edf3current_focus Tff7b72!= Tff7b72selfTff7b72.Td2a8ffcurrent_focusTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffocus_changedTb4b4b4(Tb4b4b4)
Tff7b72elseTb4b4b4:
Tff7b72def Td2a8ffdeferred_focus_checkTb4b4b4(Te6edf3loopTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffkeypress_focus_checkTb4b4b4(Te6edf3deferredTff7b72=Tff7b72TrueTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffappTff7b72.Td2a8ffuiTff7b72.Td2a8ffloopTff7b72.Td2a8ffset_alarm_inTb4b4b4(Te6edf3MainFrameTff7b72.Td2a8ffFOCUS_CHECK_TIMEOUTTb4b4b4, Te6edf3deferred_focus_checkTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcurrent_focus Tff7b72= Te6edf3current_focus
Tff7b72def Td2a8fffocus_changedTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Te6edf3current_focus Tff7b72= Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffget_focus_widgetsTb4b4b4(Tb4b4b4)Tb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]
Te6edf3current_focus_path Tff7b72= Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffget_focus_pathTb4b4b4(Tb4b4b4)
Tff7b72if Tffa657lenTb4b4b4(Te6edf3current_focus_pathTb4b4b4) Tff7b72> T79c0ff1Tb4b4b4:
Tff7b72if Te6edf3current_focus_pathTb4b4b4[T79c0ff0Tb4b4b4] Tff7b72== Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffupdate_active_shortcutsTb4b4b4(Tb4b4b4)
Tff7b72if Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactiveTb4b4b4(Tb4b4b4) Tff7b72== Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffconversations_displayTb4b4b4:
T8b949e# Needed to refresh indicativelistbox styles on mouse focus change
Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffconversations_displayTff7b72.Td2a8fffocus_change_eventTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffmouse_eventTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3eventTb4b4b4, Te6edf3buttonTb4b4b4, Te6edf3colTb4b4b4, Te6edf3rowTb4b4b4, Te6edf3focusTb4b4b4)Tb4b4b4:
Te6edf3current_focus Tff7b72= Tff7b72selfTff7b72.Td2a8ffdelegateTff7b72.Td2a8ffwidgetTff7b72.Td2a8ffget_focus_widgetsTb4b4b4(Tb4b4b4)Tb4b4b4[Tff7b72-T79c0ff1Tb4b4b4]
Tff7b72if Te6edf3current_focus Tff7b72!= Tff7b72selfTff7b72.Td2a8ffcurrent_focusTb4b4b4:
Tff7b72selfTff7b72.Td2a8fffocus_changedTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffcurrent_focus Tff7b72= Te6edf3current_focus
Tff7b72return Tffa657superTb4b4b4(Te6edf3MainFrameTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffmouse_eventTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3eventTb4b4b4, Te6edf3buttonTb4b4b4, Te6edf3colTb4b4b4, Te6edf3rowTb4b4b4, Te6edf3focusTb4b4b4)
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffkeypress_focus_checkTb4b4b4(Tb4b4b4)
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffctrl qTa5d6ff"Tb4b4b4:
Tff7b72raise Te6edf3urwidTff7b72.Td2a8ffExitMainLoop
Tff7b72return Tffa657superTb4b4b4(Te6edf3MainFrameTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)
Tff7b72class T56d364MainDisplayTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3uiTb4b4b4, Te6edf3appTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffui Tff7b72= Te6edf3ui
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Tff7b72selfTff7b72.Td2a8ffmenu_display Tff7b72= Te6edf3MenuDisplayTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4, Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsub_displays Tff7b72= Te6edf3SubDisplaysTb4b4b4(Tff7b72selfTff7b72.Td2a8ffappTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffframe Tff7b72= Te6edf3MainFrameTb4b4b4(Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactiveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffwidgetTb4b4b4, Te6edf3headerTff7b72=Tff7b72selfTff7b72.Td2a8ffmenu_displayTff7b72.Td2a8ffwidgetTb4b4b4, Te6edf3footerTff7b72=Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactiveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffshortcutsTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffwidgetTb4b4b4, Te6edf3delegateTff7b72=Tff7b72selfTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Tff7b72selfTff7b72.Td2a8ffframe
Tff7b72def Td2a8ffshow_networkTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactive_display Tff7b72= Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffnetwork_display
Tff7b72selfTff7b72.Td2a8ffupdate_active_sub_displayTb4b4b4(Tb4b4b4)
Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffnetwork_displayTff7b72.Td2a8ffstartTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffshow_conversationsTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactive_display Tff7b72= Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffconversations_display
Tff7b72selfTff7b72.Td2a8ffupdate_active_sub_displayTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffshow_directoryTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactive_display Tff7b72= Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffdirectory_display
Tff7b72selfTff7b72.Td2a8ffupdate_active_sub_displayTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffshow_mapTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3user_dataTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactive_display Tff7b72= Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffmap_display
Tff7b72selfTff7b72.Td2a8ffupdate_active_sub_displayTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffupdate_active_sub_displayTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactiveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffwidgetTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72selfTff7b72.Td2a8ffupdate_active_shortcutsTb4b4b4(Tb4b4b4)
Tff7b72def Td2a8ffupdate_active_shortcutsTb4b4b4(Tff7b72selfTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffframeTff7b72.Td2a8ffcontentsTb4b4b4[Ta5d6ff"Ta5d6fffooterTa5d6ff"Tb4b4b4] Tff7b72= Tb4b4b4(Tff7b72selfTff7b72.Td2a8ffsub_displaysTff7b72.Td2a8ffactiveTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffshortcutsTb4b4b4(Tb4b4b4)Tff7b72.Td2a8ffwidgetTb4b4b4, Tff7b72NoneTb4b4b4)
Tff7b72def Td2a8ffquitTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3senderTff7b72=Tff7b72NoneTb4b4b4)Tb4b4b4:
Tff7b72raise Te6edf3urwidTff7b72.Td2a8ffExitMainLoop
Tff7b72class T56d364MenuColumnsTb4b4b4(Te6edf3urwidTff7b72.Td2a8ffColumnsTb4b4b4)Tb4b4b4:
Tff7b72def Td2a8ffkeypressTb4b4b4(Tff7b72selfTb4b4b4, Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)Tb4b4b4:
Tff7b72if Te6edf3key Tff7b72== Ta5d6ff"Ta5d6fftabTa5d6ff" Tff7b72or Te6edf3key Tff7b72== Ta5d6ff"Ta5d6ffdownTa5d6ff"Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffhandlerTff7b72.Td2a8ffframeTff7b72.Td2a8ffset_focusTb4b4b4(Ta5d6ff"Ta5d6ffbodyTa5d6ff"Tb4b4b4)
Tff7b72return Tffa657superTb4b4b4(Te6edf3MenuColumnsTb4b4b4, Tff7b72selfTb4b4b4)Tff7b72.Td2a8ffkeypressTb4b4b4(Te6edf3sizeTb4b4b4, Te6edf3keyTb4b4b4)
Tff7b72class T56d364MenuDisplayTb4b4b4(Tb4b4b4)Tb4b4b4:
Tff7b72def Tff7b72__init__Tb4b4b4(Tff7b72selfTb4b4b4, Te6edf3appTb4b4b4, Te6edf3handlerTb4b4b4)Tb4b4b4:
Tff7b72selfTff7b72.Td2a8ffapp Tff7b72= Te6edf3app
Te6edf3menu_text Tff7b72= Tb4b4b4(Ta5d6ff"Ta5d6ffpackTa5d6ff"Tb4b4b4, Te6edf3urwidTff7b72.Td2a8ffTextTb4b4b4(Ta5d6ff"Ta5d6ff Tffea00\U00002638Ta5d6ff"Tb4b4b4)Tb4b4b4)
Te6edf3button_network Tff7b72= Tb4b4b4(T79c0ff11Tb4b4b4, Te6edf3MenuButtonTb4b4b4(Ta5d6ff"Ta5d6ffNetworkTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3handlerTff7b72.Td2a8ffshow_networkTb4b4b4)Tb4b4b4)
Te6edf3button_conversations Tff7b72= Tb4b4b4(T79c0ff17Tb4b4b4, Te6edf3MenuButtonTb4b4b4(Ta5d6ff"Ta5d6ffConversationsTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3handlerTff7b72.Td2a8ffshow_conversationsTb4b4b4)Tb4b4b4)
Te6edf3button_directory Tff7b72= Tb4b4b4(T79c0ff13Tb4b4b4, Te6edf3MenuButtonTb4b4b4(Ta5d6ff"Ta5d6ffDirectoryTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3handlerTff7b72.Td2a8ffshow_directoryTb4b4b4)Tb4b4b4)
Te6edf3button_map Tff7b72= Tb4b4b4(T79c0ff7Tb4b4b4, Te6edf3MenuButtonTb4b4b4(Ta5d6ff"Ta5d6ffMapTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3handlerTff7b72.Td2a8ffshow_mapTb4b4b4)Tb4b4b4)
Te6edf3button_quit Tff7b72= Tb4b4b4(T79c0ff8Tb4b4b4, Te6edf3MenuButtonTb4b4b4(Ta5d6ff"Ta5d6ffQuitTa5d6ff"Tb4b4b4, Te6edf3on_pressTff7b72=Te6edf3handlerTff7b72.Td2a8ffquitTb4b4b4)Tb4b4b4)
T8b949e# buttons = [menu_text, button_conversations, button_node, button_directory, button_map]
Te6edf3buttons Tff7b72= Tb4b4b4[Te6edf3menu_textTb4b4b4, Te6edf3button_conversationsTb4b4b4, Te6edf3button_networkTb4b4b4, Te6edf3button_quitTb4b4b4]
Te6edf3columns Tff7b72= Te6edf3MenuColumnsTb4b4b4(Te6edf3buttonsTb4b4b4, Te6edf3dividecharsTff7b72=T79c0ff1Tb4b4b4)
Te6edf3columnsTff7b72.Td2a8ffhandler Tff7b72= Te6edf3handler
Tff7b72selfTff7b72.Td2a8ffwidget Tff7b72= Te6edf3urwidTff7b72.Td2a8ffAttrMapTb4b4b4(Te6edf3columnsTb4b4b4, Ta5d6ff"Ta5d6ffmenubarTa5d6ff"Tb4b4b4)
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────